package com.yzyz.service;

import java.util.List;

import com.yzyz.bean.scenic.ScenicBean;
import com.yzyz.dao.IScenicDao;

/**
 * 
 * @author David Sun
 * @Date   2010-4-5
 *
 */
public interface ScenicService extends IBaseService {
	void setScenicDao(IScenicDao scenicDao);
	
	List<ScenicBean> listAllWithoutDisabled();
	
	List<ScenicBean> listAllWithouDisabled(int scenicId);
		
	int getCountAll(String name, int groupId);
	
	/**
	 * 获取一个地区下的所有景区
	 * @param regionId
	 * @param start
	 * @param limit
	 * @return
	 */
	List<ScenicBean> listAllByRegion(int regionId, int start, int limit);
	
	/**
	 * 获取一个地区下的景区数
	 * @param regionId
	 * @return
	 */
	int getCountByRegion(int regionId);
	
	List<ScenicBean> listUsed(int routeId);
	
	int add(ScenicBean scenic, String description);
	
	int updateAvailable(int id, boolean available);
	
	int cancelUsedScenic(int routeId, int scenicId);
	
	int addUsedScenic(int routeId, int scenicId);
	
	/**
	 * 初始某个景区分组下面的所有景区，
	 * 包括初始化：景区的相关行程
	 * @param regionId
	 * @return
	 */
	List<ScenicBean> init(int regionId);
	
	/**
	 * 搜索景区
	 * @param keyWords
	 * @return
	 */
	List<ScenicBean> search(String keyWords);
	
	/**
	 * 初始化某个景区，包括初始化：景区的相关行程
	 * @param scenicId
	 * @return
	 */
	ScenicBean initSingle(int scenicId);
	
	/**
	 * 通过景区名查找景区
	 * @param name
	 * @return
	 */
	ScenicBean findScenicByName(String name);

	List<ScenicBean> paginate(int start, int limit, String name, int groupId);
	
}
